The World Wide Web (xe2x80x9cWWWxe2x80x9d) is comprised of millions of documents (web pages) formatted in Hypertext Markup Language (xe2x80x9cHTMLxe2x80x9d), which can be accessed from thousands of users through the Internet. To access a web page, its Uniform Resource Locator (xe2x80x9cURLxe2x80x9d) must be known. Search engines index web pages and make those URLs available to users of the WWW. To generate an index, a search engine may search the WWW for new web pages using a web crawler. The search engine selects relevant information from a web page after analyzing the content of the web page and saves the relevant information and the web page""s URL in the index.
Web pages also contain links to other documents on the WWW, for example, text documents and image files. By searching web pages for links to image files, a search engine connected to the WWW provides an index of image files located on the WWW. The index contains a URL and a representative image from the image file.
Web pages also contain links to multimedia files, such as video and audio files. By searching web pages for links to multimedia files, a multimedia search engine connected to the WWW, such as Scour Inc.""s SCOUR.NET, provides an index of multimedia files located on the WWW. SCOUR.NET""s index for video files provides text describing the contents of the video file and the URL for the multimedia file. Another multimedia search engine, WebSEEK, summarizes a video file by generating a highly compressed version of the video file. The video file is summarized by selecting a series of frames from shots or scenes, in the video file and repackaging the frames as an animated GIF file. WebSEEK also generates a color histogram from each shot in the video to automatically classify the video file and allow content-based visual queries. It is described in John R. Smith et al. xe2x80x9cAn Image and Video Search Engine for the World-Wide Webxe2x80x9d, Symposium on Electronic Imaging: Science and Technologyxe2x80x94Storage and Retrieval for Image and Video Databases V, San Jose, Calif., Febuary 1997, ISandT/SPIE.
Finding a representative image of a video to display is very subjective. Also, analyzing the contents of digital video files linked to web pages is difficult because of the low quality and low resolution of the highly compressed digital video files.
One technique for finding a representative image of a video to display is to find a frame which is likely to include people. This technique is described in co-pending U.S. patent application Ser. No. 09/248,545 entitled xe2x80x9cSystem for Selecting a Keyframe to Represent a Videoxe2x80x9d by Frederic Defaux et al. The likelihood of people in a frame is determined by measuring the percentage of skin-color in the frame. Skin-color detection is a learning-based system trained on large amounts of labeled data sampled from the WWW. Skin color detection returns, for each frame in the shot, the percentage of pixels classified as skin.
The present invention provides a mechanism for selecting a representative image from a video file by providing a technique for applying face detection to a video to select a key frame which may include people and has particular application to indexing video files located by a search engine web crawler. A key frame, one frame representative of a video file, is extracted from the sequence of frames. The sequence of frames may include multiple scenes or shots, for example, continuous motions relative to a camera separated by transitions, cuts, fades and dissolves. To extract a key frame face detection is performed in each frame and a key frame is selected from the sequence of frames based on a sum of detected faces in the frame.
Face detection in a frame may be performed by creating a set of images for the frame. Each image in the set of images is smaller than the previous image. Each image is smaller than the previous image by the same scale factor. Selected ones of the set of images are searched for faces. The selected ones are dependent on the minimum size face to detect. The validity of a detected face is ensured by tracking overlap of a detected face in consecutive frames.
Shot boundaries may be detected in the sequence of frames. A key shot is selected from shots within the detected shot boundaries based on the number of detected faces in the shot. A shot score may be provided for each detected shot. The shot score is based on a set of measures. The measures may be selected from the group consisting of motion between frames, spatial activity between frames, skin pixels, shot length and detected faces. Each measure includes a respective weighting factor. The weighting factor is dependent on the level of confidence of the measure.
Face detection may process different size frames by modifying the size of the frame before performing the face detection.